package assist.service.gwt.interfaces;

import java.util.Date;
import java.util.Set;

import assist.domain.model.Game;
import assist.domain.model.Player;
import assist.domain.model.Stats.Row;
import assist.domain.model.StatsQuery.RowQuery;
import assist.domain.model.Team;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>HockeyStatsService</code>.
 */
public interface HockeyStatsServiceAsync {
  void helloHockey(AsyncCallback<String> callback);
  void getTeamPlayers(Team team, Date start, Date end, AsyncCallback<Set<Player>> callback);
  
void getTeams(AsyncCallback<Set<Team>> callback);
void getGames(Team team, Date start, Date end,
        AsyncCallback<Set<Game>> asyncCallback);
void getTeamPlayers(Team team, Set<Game> set,
        AsyncCallback<Set<Player>> asyncCallback);
void getStatsRow(RowQuery rowQuery,
        AsyncCallback<Row> asyncCallback);   
}
